On the Versatile Uses of Partial Distance Correlation in Deep Learning
概要
ECCV22のbest paper
二つのモデルの挙動を比較することは極めて重要
しかし, それぞれが異なるアーキテクチャにおけるモデルの比較方法は依然として研究が不十分.
そこで, この論文では(Partial) Distance Correlationを機械学習に応用する手法を提案. (Partial) Distance Correlationを用いることで様々な応用が期待される.
論文中では以下の3つが提案されている.
1. モデルの条件付け
2. 敵対的サンプルへの防御
3. Disentangledな表現の学習
(Partial) Distance Correlationについては
敵対的サンプルへの防御
あるモデルXにおいて有効な敵対的サンプル$ \tilde{x}が存在する場合, 同じ構造のモデルYにおいても$ \tilde{x}が有効であることが多い.
したがって, 二つのモデル$ f_1, f_2に対して, ある中間層をそれぞれ$ g_1, g_2とすると, $ g_1, g_2の相関を下げれば, 敵対的サンプルへの防御につながると考えられる.
そこで, 以下のような損失を定義
$ \text{Loss}_{\text{total}} = \text{Loss}_{\text{CE}}(f_2(x),y) + \alpha \cdot \text{Loss}_{\text{DC}}(g_1(x), g_2(x))
ここで, $ g_1, g_2の次元は一致しなくても良いことに注意
結果は以下の通り.
https://gyazo.com/7cdf397dd1ebb647b1021c8751d7fd14
モデルにおける情報量の比較
Distance Correlationは出力の次元に依存しないので, 異なるアーキテクチャのモデル同士を比較することが可能
https://gyazo.com/911adc84bbd15fe3521082aa2fc258fb
さらに, Partial Distance Correlation(PCD)を用いることで, 「モデルYが学習した情報」以外にモデルXが何を学習しているのかを推測することができる.
例えば, $ \mathcal{R}^2\left( (X|Y),GT\right)を計算すれば, Yで条件付けされたXとGTの相関を計算することができる
ここで, 「Yで条件付けされたX」とは「Yを前提とするX」に等しいので, 要はモデル$ X | Yは「モデルYが学習した情報」を除いたモデルXの情報のことを指す.
GTにはclass名をBERTに通した出力を使用. one-hotベクトル等でも良かったが, ベクトル同士の関係性が皆無なのでBERTを採用.
モデルYが学習した情報とは異なる情報をモデルXに学習させるために, 以下のような損失を定義
X, Yをpretrainした後に, Xのみ以下の損失でfine-tuning
$ \text{Loss}_{\text{CE}}(f_1(x),y) - \alpha \cdot \text{Loss}_{\text{PDC}}\left( (g_1(x)| g_2(x)), gt \right)
その結果が下図
https://gyazo.com/affae2fb76e87299cb8a67a070280552
以下の図はGradCamを用いてモデル$ X | Yの注目領域を可視化した結果
ViT \ ResNet を見ると, より被写体に注目していることから, ViTはResNetでは捉えられない細かい領域を捉えている可能性が示唆される.
https://gyazo.com/8ca26d07ef98c12c0d6fcc66db54ac74
Disentanglement
データセットはFFHQ
(Gabbay+, NeurIPS21)での本来の損失$ \text{L}_{\text{res}}は$ \text{L}_{\text{res}}=\sum_{i=1}^n ||r_i||^2だが, 本論文では属性$ f^1,f^2,...,f^kに対して, $ \text{L}_{\text{res}}=dCor([f^1;f^2;...;f^k\rbrack, r)を使用
https://gyazo.com/0369a4448887728859469406f3a65d5b
https://gyazo.com/52ecfd95753ffa2639b7dbc99f23245c